# 字符串切片slice操作_逆序
# 操作1:  "abcdef"[:] ="abcdef"
# 操作2:  "abcdef"[2:]="cdef" 注：abcdef下标分别为012345 从c(2)开始到结尾
# 操作3:  "abcdef"[:2]="ab" 到第二个结束
# 操作4： "abcdef"[2:4}="cd"(不包含第4个e)
# 操作5： "abcdef"[1:5:2]="bd"(从下标为1开始到5结束，每隔两步取一个)
# [start:end:step]


# 负数切片
# 操作1:"abcdefghijklmn"[-5:-1]="jklmn" //下标从右往左依次为-1，-2，-3......


# a ="abcdefghijklmn"
# print(a[:])

# b ="abcdefghjkrikrl"
# print(b[0:6])

# c="abcdefghijklmnopq"
# print(c[1:7:3])

# d="abcdefghijklmnopq"
# print(d[-9:-1])  //ijklmnop


# 字符串分割_split
# a="I Love You"
# b=a.split()
# print(b)

# a="I Love You"
# b=a.split("v")   //以v为分解线切割
# print(b)   //['I Lo', 'e You']



#join与split作用相反把两个字符串连接起来
# c=["aa","bb","cc"]
# d="".join(c)
# print(d)   //aabbcc
#
#  c=["aa","bb","cc"]
#  d="+++".join(c)  //引号内为分割后之间可加的字符或符号
#  print(d)   //aabbcc



# 字符串_驻留机制_同一判断值相等判断
# c="dd##"
# d="dd##" //#代表地址表示它俩同一个地址对象
# print(c is d)
# f="aabbcc"
# g="aabbcc"
# print(id(f))
# print(id(g))
# print(f is g)
# print(f==g)
# print("aa"in f)   //关键字：  in     not in



#字符串常用方法汇总
# a="python code beginner and advanced python Pycharm Projects"
# print(len(a)) # //字符串长度
# print(a.count("y")) #// y出现的次数
# print(a.find("y"))#//第一次出现指定字符串的位置
# print(a.rfind("y"))# // 最后一次出现y的位置
# print(a.isalnum()) # //所有全是字母或者数字、




#去字符串首尾关键字.strip()
# print("  love u  ".strip())   #love u
# print("love you k".strip("k"))   #love you


#更改字符串
# a="gaobo love programming,love sxt"
# print(a.capitalize()) #首字母大写
# print(a.title())  #每个首字母大写
# print(a.upper())  #新的字符串每个字母编程大写
# print(a.lower())   #所有字母变成小写
# a.swapcase()  #所有字母大小写转换

#格式排版
# c="hello"
# print(c.ljust(20,"*")) #左排版对齐且后面加*
# print(c.rjust(20,"*")) #右排版对齐且后面加*
# print(c.center(20,"*")) #中间排版对齐且两边加*


#特征判断方法
# a="asdf344"
# print(a.isalnum()) #是否为字母或者数字
# print(a.isalpha()) #是否只有字母
# print(isdigit()) #是否只有数字组成
# print(isupper())  #是否为大字母


#格式化format
# a="名字是:{0},年龄是:{1}"
# b=a.format("冠宇",18)
# print(b)
# a="名字是:{name},年龄是:{age}"
# b=a.format(age=19,name="冠宇")
# print(b)

#可变字符串
import io
s="asdfghjkl;"
sio=io.StringIO(s)
print(sio)
print(sio.getvalue())
sio.seek(2)
sio.write("22")
print(sio.getvalue())